package com.zbkj.crmeb.merchant.api.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.zbkj.crmeb.user.model.User;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class BuyMemberRequest implements Serializable {

    @ApiModelProperty(value = "支付方式| 商户微信：weixin  香港支付：hkpay  橙子支付：orage  余额支付：yue")
    private String payType;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal price;

    @ApiModelProperty(value = "会员类型id")
    private String memberTypeId;

    @ApiModelProperty(value = "订单号",hidden = true)
    private String orderNo;

    @ApiModelProperty(value = "会员类型，1月卡，2年卡",hidden = true)
    private Integer memberType;

    @ApiModelProperty(value = "有效天数",hidden = true)
    private Integer effectiveTime;

    @ApiModelProperty(value = "来源 | public =  微信公众号, weixinh5 =微信H5支付, routine = 小程序",hidden = true)
    @JsonProperty(value = "from")
    private String fromType;

    @ApiModelProperty(value = "客户端ip",hidden = true)
    @JsonIgnore
    private String clientIp;

    @ApiModelProperty(value = "商户Id",hidden = true)
    private Integer merId;

    @ApiModelProperty(value = "用户id",hidden = true)
    private Integer uid;

    @ApiModelProperty(value = "会员id",hidden = true)
    private Integer recordId;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "生日")
    private String birthday;

    @ApiModelProperty(value = "身份证号码")
    private String cardId;

    @ApiModelProperty(value = "用户昵称")
    private String nickname;

    @ApiModelProperty(value = "用户头像")
    private String avatar;

    @ApiModelProperty(value = "手机号码")
    private String phone;

    @ApiModelProperty(value = "性别")
    private int sex;

    @ApiModelProperty(value = "联系电话")
    private String mobile;

    @ApiModelProperty(value = "电子邮箱")
    private String email;

    @ApiModelProperty(value = "详细地址")
    private String addres;

    @ApiModelProperty(value = "等级")
    private Integer level;

    @ApiModelProperty(value = "喜欢的葡萄酒类型")
    private String preferType;

    @ApiModelProperty(value = "喜欢的葡萄酒产地")
    private String preferPlace;

    @ApiModelProperty(value = "可接受的葡萄酒价格区间")
    private String acceptablePrice;

    @ApiModelProperty(value = "通常购买葡萄酒的用途")
    private String wineUsage;

    @ApiModelProperty(value = "通常购买葡萄酒的渠道")
    private String purchaseChannel;

    @ApiModelProperty(value = "平均每月购买葡萄酒的次数")
    private String wineBuyTimes;

    @ApiModelProperty(value = "是否参加过葡萄酒品鉴活动")
    private String wineTastingEvent;

    @ApiModelProperty(value = "是否愿意参加线下组织的品鉴活动")
    private String wishWineTastingEvent;

    @ApiModelProperty(value = "对俱乐部的建议")
    private String advise;

}